pull: Explicitly error out if metadata objects are fallbacks
authorColin Walters <walters@verbum.org>
Fri, 10 Feb 2017 22:35:23 +0000 (17:35 -0500)
committerAtomic Bot <atomic-devel@projectatomic.io>
Fri, 17 Feb 2017 14:58:25 +0000 (14:58 +0000)
I don't know why I added support for this; it makes no sense really. If we have
large metadata objects something has gone badly wrong.

The delta compiler has always only processed fallbacks for regular
content files.

Dropping support in the fetcher for this will simplify later handling of
fallback progress accounting.

Closes: #678
Approved by: giuseppe

src/libostree/ostree-repo-pull.c

index 129e25daabff5ad0e21abda680ca3cdf890b6f0d..6246011fd561bf73de2f2a3fcce8d8ba2f0ce1c2 100644 (file)
@@ -1618,19 +1618,14 @@ process_one_static_delta_fallback (OtPullData   *pull_data,
     }
 
   if (!is_stored)
-    { 
+    {
+      /* The delta compiler never did this, there's no reason to support it */
       if (OSTREE_OBJECT_TYPE_IS_META (objtype))
         {
-          g_autoptr(GVariant) objname = ostree_object_name_serialize (checksum, objtype);
-          if (!g_hash_table_lookup (pull_data->requested_metadata, objname))
-            {
-              gboolean do_fetch_detached;
-              g_hash_table_add (pull_data->requested_metadata, g_variant_ref (objname));
-              
-              do_fetch_detached = (objtype == OSTREE_OBJECT_TYPE_COMMIT);
-              enqueue_one_object_request (pull_data, checksum, objtype, NULL, do_fetch_detached, FALSE);
-              checksum = NULL;  /* Transfer ownership */
-            }
+          g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+                       "Found metadata object as fallback: %s.%s", checksum,
+                       ostree_object_type_to_string (objtype));
+          goto out;
         }
       else
         {